Criando uma lixeira [Melhorado]
Publicado por Sandro Marcell 18/07/2007
[ Hits: 5.195 ]
Homepage: http://sanmarcell.wordpress.com
Versão melhorada de um script que cria uma simples lixeira para o usuário. (Versão CShell)
Dica:
Coloque esta linha em seu .bashrc:
alias rm=nome_do_script
Assim toda vez que você chamar pelo terminal o comando rm, estará invocando este script.
Falou!!!
#!/bin/csh # # Criando uma simples lixeira. # (Versão CShell) # # Autor: Sandro Marcell (sandro_marcell@yahoo.com.br) # # Obs.: # Arquivos e diretórios são removidos sem pedido de confirmação. # É possível o uso do metacaractere (*). # A opção -r remove a lixeira. # Checando parâmetros: if ($#argv == 0) then echo "Uso: `basename $0` arquivo1 [arquivoN]\ ou\ `basename $0` -r [Para remover a lixeira]" exit endif # Criando a lixeira: set LIXEIRA = $home/lixeira if (! -e $LIXEIRA) then mkdir $LIXEIRA endif # O que fazer? switch ($argv[1]) # Remover a lixeira! case -r: # Descartando a opção -r: shift # Checando parâmetros: if ($#argv >= 1) then echo "Erro: A opção [-r] não aceita parâmetros!" exit else # Perguntando antes de remover: echo -n "Deseja realmente remover a lixeira? [s/n]:" # Capturando resposta: set R = $< # Checando resposta: if ($R == s || $R == S) then # Removendo rm -R -f $LIXEIRA >& /dev/null echo "Lixeira removida!" exit else if ($R == n || $R == N) then echo "Saindo..." exit else echo "[$R] Resposta inválida." exit endif endif breaksw # ou mandar tudo pro lixo... default: # Início do loop: foreach A ($argv) # Testes condicionais: if (! -e $A) then echo "-> Arquivo ou diretório não encontrado." continue else if (! -w $A) then echo "-> Sem permissão para remover." continue endif # Removendo: ls $A | xargs cp -R -f $A --target-directory=$LIXEIRA >& /dev/null ls $A | xargs rm -R -f $A >& /dev/null echo "Arquivo removido!" end breaksw endsw # Fim
Montando Pen Drive no Slackware
Números impares no intervalo entre 2 números
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta